Copyright: Visual Help ® 1993-1994 Firas Bushnaq


Contents

Introduction

Object Sketch Pad is a CASE tool which supports the Booch notation for object oriented design.  It is strongly recomended that the user be familiar with "Object-Oriented Analysis and Design with Applications" by Grady Booch, 2nd edition (The Benjamin/Cummings Publishing Company, Inc.).  This version (1.x) of Object Sketch Pad supports all diagram types described in this book with the exception of interaction diagrams.  These will be added to version 2.

Procedures

Selecting a Tool

Creating Icons

Naming Icons

Creating Relationships

Editing Specifications

Resizing Icons

Selecting Icons for Moving or Cutting

Moving Icons

Cut Paste and Undo

Moving to Other Diagrams

Reference

How to Register / Paying for this Program

How to contact Crossroads Software

Acknowledgments / Copyrights

WARNING

A comment about the nomenclature used in this document.

Mouse and Keyboard

Menus

Other

The Future

Warranty


Selecting a Tool

To create a diagram using Object Sketch Pad, you must first select a tool from the tool menu.  Initially, you will need to select something from the upper group of tools.

The first item in the tool menu will always be the pick tool.  When the pick tool is selected, the cursor will become an "arrow" cursor.  The pick tool can only be used to select an existing icon and will be of no use on an empty diagram.

The upper group of tools will always be icons which can either stand alone or be connected to other icons.  In the class menu, these will be classes, class categories, etc.  When a tool from this upper group is selected, the cursor will become the "icon" cursor (a circle with a cross in it).

The lower group of tools are those connections appropriate to the selected diagram type.  In the class menu, these will be inheritance relationships, has or using relationships, etc.  When a tool from this lower group is selected, the cursor will become the "relationship" cursor (a line with an arrow).


Creating Icons

When the "icon" cursor (a circle with a cross in it) is showing, a left mouse button click will put the selected icon at the cursors location.  Left button down, followed by a drag, will allow you to move the icon to another location.

When the "icon" cursor is showing, and the cursor is moved over an existing icon, the cursor will temproarily change to the pick cursor.  This is done so the user can select an icon at any time without having to go to the tool menu and choosing the pick tool.


Naming Icons

After an icon has been created, it will need to be named.

On state transition diagrams, object diagrams and process diagrams double click the left mouse button when it is over an icon and the specification for that icon will open up.  The icon can be named in the specification dialog.

When working with class diagrams and module diagrams there is an additonal consideration.  On these diagrams, some of the icons may actually be copies of icons defined in other diagrams.  For example, if class category 'B' uses class category 'A', then is is possible for a class in the diagram showing the contents of class category 'B' to inherit from or use a class which is defined in class category 'A'.  In this case, a copy of the class defined in category 'A' is placed into the diagram for category 'B'.

In order to support this possibility, Object Sketch Pad behaves differently when class or module diagrams are being edited.  With these diagrams, when you double left click on an icon, you will first get a dialog box which will ask for just the name of the class, module, etc.  In this dialog box you can either enter the name of a new class, or select the name of an existing clas from a list.  If you enter a new name, a new class is created in that diagram and the specification dialog box is opened.  If a name is selected from the list, or if the name of an existing class is entered, a copy of that class is created and the specification dialog box is opened and filled with the information from the existing class.

Any changes made in the specification via the original or any of these linked copies will be reflected in the original and in all copies.  The only thing which can not be changed in a copy is the name.  This can only be changed in the original.  If a copy is deleted there is no effect on the original, however, if the original is deleted, any copies will now have no names and no specifications.


Creating Relationships

There are two types of relationships.  Regular relationships connect two icons.  Reflexive relationships connect a single icon with itself.

To create a regular relationship, choose a relationship from the tool menu, move the cursor over one of the icons to be connected, hold down the left mouse button, drag the end of the relationship over the other icon and release the left mouse button.

To create a reflexive relationship, select a reflexive relationship from the tool menu, move the cursor over the icon to be connected, hold down the left mouse button, drag the cursor outside the icon and release the left mouse button.


Editing Specifications

Most of the icons and relationionships used in Booch's notation have some sort of specification associated with them.  To access a specification, double left click on the icon or relationship.  This will open a dialog box which will contain the appropriate specification.


Resizing Icons

Move the cursor to inside the edge of an icon.  Click and hold the right mouse button and drag outward to increase size, drag inward to decrease size.


Selecting Icons for Moving or Cutting

Select an element by moving the cursor over an element.  The cursor will change to an "arrow" cursor when over an element.  Click the left mouse button.  The element selected will become red.  To select more than one element hold down the "control" key and click on additional elements.


Moving Icons

When an "arrow" cursor is showing, the user can point to an icon (a class, a class category, etc.) and select it by clicking on it.  To move an icon, place the "arrow" cursor over an icon, hold the left button down and drag the icon to its new location.  More than one element may be selected for moving.  Relationships connectiong elements need not be selected when moving icons.  Any lines connection icons will automatically be moved along with the icons.

The user can also grab the end of a line connectiong two icons and drag it over another icon to connect the line with the other icon.


Cut Paste and Undo
Cut, Paste and Undo

To remove one or more elements from a diagram, first select the element(s) to be removed, then select "Cut" from the "Edit" menu.  You can undo this cut by selecting "Undo" from the "Edit" menu.

You can move an element(s) from one diagram to another by cutting them from the first diagram, moving to the second digram, and pressing "Paste" from the "Edit" menu.  Elements can only be pasted to the same type of digram they were cut from.  The pasted elements are placed on the target diagram at the same location they were cut from on the source diagram.

WARNING : You can only undo the last cut.  There is only one undo buffer.  Each successive cut replaces the previous contents of the undo buffer.

WARNING : Class diagrams and module diagrams are hierarchical in nature.  The potential exists to delete large portions of a design when cutting class categories or module subsystems.  When you cut a class category from a class diagram you are removing that category and all of the classes, etc. contained within it.  If that cut category contains other class categories they are also removed.  These contained elements are not lost, they are all in the undo buffer.  If undo is selected from the edit menu, everything is resored to the way it was.  If you go to a different class diagram and press paste, the cut category is placed into this diagram and all of its contained elements and associated diagrams are restored.  However, if a category is cut, and then something else is cut before undo or paste is used, then the previous contents of the undo buffer are lost.

WARNING : When a diagram is deleted via the Select Diagram dialog, it can not be un-deleted.  It is gone.


Moving to Other Diagrams

Moving via the Diagram Menu

The diagram menu can be used to go to any existing diagram.  First select the type of diagram you want to go to from the diagram menu.  You will then be given a list of diagrams of that type to select.  Select the diagram you want to go to.

Moving via Right Double Click

Some elements in certain diagrams are automatically linked to other diagrams.  For these elements move the cursor over the element and double click the right mouse button.  You will go to that elements diagram.  If you are in a diagram which is linked to an element on another diagram and you wish to go to the "parent" diagram, double click the right mouse button with the cursor not over any diagram elements.

Right Double Click on a	And go to a
--------------------------------------------------------------------------------------------
Class	State Transition Diagram
Class Utility	State Transition Diagram
Parameterized Class	State Transition Diagram
Instantiated Class	              State Transition Diagram
Metaclass	State Transition Diagram
Class Category	Class Diagram
Subsystem	Module Diagram
Nothing                                             "Parent" Diagram

Note : The diagram you go is not created until the user does a right double click on the associated element.  Therefore, the diagram will not be listed in the diagram menu until the user creates and goes to that diagram via a right double click.


How to Register

The registration fee for individual users of Object Sketch Pad version 1.x is $35.00.

Shipping & Handling (Postal) US & Canada $5.00
                                           Outside US & Canada $12.00

Check or Money Order drawn on a U.S.A. bank in U.S.A. funds.

Registration by Mail / Check or Money Order / Site Licenses

Registration by Phone / Credit Cards

Registration via CompuServe

About Shareware

What You Get


Registration by Mail

Name : ___________________________________________________

Company : ________________________________________________

Address1 : ________________________________________________

Address2 : ________________________________________________

City : _______________________  State : ________  Zip : _________

Country : _____________________________________

Tel : _______________________  Fax : ________________________

Email : ___________________________________________________

Object Sketch Pad Individual Registration :         $35.00   ________

Multiple Registration (Site License)
(One diskette is shiped.)
 2 or more computers :
$25.00 per computer           # computers ____ x $25.00   ________

           Pennsylvania residents add 6% sales tax             ________

Shipping & Handling (Postal) US & Canada          $5.00
                              Outside US & Canada         $12.00   ________

                                                                        Total :   ________

Where did you here about Object Sketch Pad?  __________________
__________________________________________________________

Comments : _______________________________________________
__________________________________________________________
__________________________________________________________
__________________________________________________________
__________________________________________________________

Send completed form with payment to

  	Crossroads Software
940 Hillsdale Road
West Chester, PA  19382-1921

Check or Money Order drawn on a U.S.A. bank in U.S.A. funds.
Prices and terms subject to change without notice.


Registration by Phone

You can order with MC, Visa, Amex, or Discover from Public Software Library by calling:
800-2424-PSL
or
713-524-6394
(7 a.m. to 6 p.m. Mon-Thurs, 7 a.m. to noon Fri)

or by FAX at

713-524-6398

or by CIS Email to 71355,470.

You can also mail credit card orders to:

PsL
P.O.Box 35705
Houston, TX 77235-5705.

Make sure to specify "Object Sketch Pad"  product #14011, $35.00 plus shipping and handling (plus 6% sales tax for PA residents) will be billed to your credit card. If you order by mail or Fax be sure to include the expiration date of your credit card.

THE ABOVE NUMBERS ARE FOR ORDERS ONLY. Any questions about the status of the shipment of the order, registration options, product details, technical support, volume discounts, dealer pricing, site licenses, etc, must be directed to Crossroads Software at the address bellow :

Questions, support, and site licenses contact

Crossroads Software
940 Hillsdale Road
West Chester, PA  19382-1921

or via e-mail at

73016.122@compuserve.com

The registration fee for individual users of Object Sketch Pad version 1.x is $35.00.

Pennsylvania residents add 6% sales tax

Shipping & Handling (Postal) US & Canada     $5.00
                              Outside US & Canada    $12.00


Registration via CompuServe

To register via CompuServe you must have a CompuServe account.

•	Log on to CompuServe

•	GO SWREG

•	Select registration Id# 5715


Shareware
About Shareware

Shareware is software which is distributed on a "try it before you buy it" basis.

This program may be used for a period of 30 days.  After this evaluation period, the user should either register the program or remove it from their computer.  It is unlawfull (in a very real and leagally binding sense of the term) to continue to use this software after the evaluation period without paying for it.

Please remember that money paid to distributers for the cost of copying and mailing disks is not the same as paying the author for the program.

Please pass this program on to any friends or colleagues who might find it usefull and encourage them to do the same.

The shareware approach allows the price of shareware to be lower than the price of software marketed via conventional means.  If you want to continue to see affordably priced software, please, support those individuals and companies who offer affordably priced software by registering the shareware that you use.

Thank you.

Andrew J. Bachofer

Crossroads Software
940 Hillsdale Road
West Chester, PA  19382-1921

73016.122@compuserve.com

How to Register


What You Get

Users who register the shareware version of Object Sketch Pad will recieve :

•	The latest version of Object Sketch Pad

•	Priority support

•	Notification of new releases

•	Minimal charge for upgrades

See also :

How to Register ...

How to contact Crossroads Software ...


How to contact Crossroads Software

via E-Mail

Internet users can send e-mail to :

73016.122@compuserve.com

via Regular Mail

Send regular mail to :

Crossroads Software
940 Hillsdale Road
West Chester, PA  19382-1921


Acknowledgments

The notation implemented in this program was described in  "Object-Oriented Analysis and Design with Applications" by Grady Booch, 2nd edition (The Benjamin/Cummings Publishing Company, Inc.).

Help files were created using "Visual Help" from WinWare, P.O. Box 2923, Mission Viejo, CA  92690.

Borland C++ 4.5 was used to create this program.  The files bc450rtl.dll, bids45.dll, owl250.dll and dib.drv are all Borland redistributable components and are distributed in accordance with Borland's distribution license.

Copyrights

All files distributed with this product not including third party distributables are Copyright © 1994, 1995 Crossroads Software. All Rights Reserved.

Borland distributables are Copyright © 1994 Borland International, Inc. All Rights Reserved.


WARNING

WARNING : You can only undo the last cut.  There is only one undo buffer.  Each successive cut replaces the previous contents of the undo buffer.

WARNING : Class diagrams and module diagrams are hierarchical in nature.  The potential exists to delete large portions of a design when cutting class categories or module subsystems.  When you cut a class category from a class diagram you are removing that category and all of the classes, etc. contained within it.  If that cut category contains other class categories they are also removed.  These contained elements are not lost, they are all in the undo buffer.  If undo is selected from the edit menu, everything is resored to the way it was.  If you go to a different class diagram and press paste, the cut category is placed into this diagram and all of its contained elements and associated diagrams are restored.  However, if a category is cut, and then something else is cut before undo or paste is used, then the previous contents of the undo buffer are lost.

WARNING : When a diagram is deleted via the Select Diagram dialog, it can not be un-deleted.  It is gone.


Nomenclature Comment
Nomenclature

In Booch's book, the term icon is used to denote the image of a class or an object or a state, etc. on a diagram.  For example, a simple class diagram could have two class icons connected by an inheritance relationship.  In windows, of course, an icon is what a window is reduced to when it is minimized.  Because Object Sketch Pad is a windows program which supports Booch's notation, there will places in this document when the term icon should be interpreted in terms of Booch's notation and other places where ther term icon will have its windows interpretation.  Hopefully, the context of the word will successfully convey the intended meaning.


Mouse and Keyboard

•	Double left click on something to view specification.

•	Double right click on something to go to its diagram.

•	Double right click on nothing to go to a parent diagram.

•	Single left click to select something, <control> single left click for multiple selections.

•	Left click, hold and drag to move something.

•	Right click, hold and drag to resize something.


Menus

File

Edit

Tool

Diagram

Window

Help


File Menu

New

Clears all the diagrams in the design.  Empties the undo buffer.  You can NOT "Undo" a "New".

Open ...

Opens an existing design file (*.des).  Any changes made to the current design which have not been saved are lost.

Save

Save the current design to a file.  If the design has not yet been named (via "Save As") this will do the same thing as "Save As".

Save As ...

Select a file name for the design and save the design to that file.

Other ...

Save Diagram as .BMP ...

Prompts for a file name and saves the current diagram as a BMP file.

Save Diagrams Specifications as ASCII ...

Prompts for a file name and saves the specifications for all the elements in the current diagram in an ASCII file.

Save All Diagrams as .BMP's ...

Prompts for the first four characters of a file name.  The diagrams will be saved in a series of consecutively numbered BMP files.  i.e "osp_0001.bmp, osp_0002.bmp, etc.

Save All Diagrams specifications as ASCII ...

Prompts for a file name and saves the specifications for all the elements in all of the diagrams in an ASCII file.

Print ...

Send the current diagram to the printer.

Print All ...

Send all the diagrams to the printer.

Printer Setup ...

Setup the printer.

Exit

Exit Object Sketch Pad.


Edit Menu

Cut

Remove the selected elements from the diagram.  The selected elements are placed into a buffer.  These elements can be pasted to another diagram of the same type or undo can return them to their original diagram.  Each time cut is used, the previous contents of the cut buffer are deleted permanently.

Paste

Moves the contents of the cut buffer to the current diagram.  The elements pasted are placed in the same location they occupied in their original diagram.

Undo

Undo the last "cut" operation.  Only the last cut can be undone.


Tool Menu

This menu will change to reflect the icons which are available for the type of diagram currently being viewed.  The first menu item will always be "Pick".  "Pick" is used to select an icon for moving or cutting.  The next group of menu items will be the icons appropriate to the current diagram type.  Finally, the last group of menu items will be the relationships appropriate to the current diagram type.


Diagram Menu

The diagram menu is used to select diagrams for editing.

Class

Choose this to select a class diagram to edit.

Object

Choose this to select an object diagram to edit, delete or rename.

State Transition

Choose this to select a state transition diagram to edit.

Module

Choose this to select a module diagram to edit.

Process

Choose this to select a process diagram to edit, delete or rename.


Window Menu

Clean

Sometimes when moving icons, there may be some "dirt" left on the screen.  This command repaints the screen, cleaning it up.

Show Pages

This command puts lines on the screen corresponding to the page size and orientation of the default printer.  It is used to preview a document prior to printing.


Help Menu

Contents

Shows Object Sketch Pad's main help screen.

Using Help

Shows standard windows help about help.

Product Support

How to contact Crossroads Software ...

Shareware Registration

How to Register ...

What You Get ...

About ...

Displays Object Sketch Pad's "About" dialog.


Other

Known Quirks

Allowing the impossible

This version (1.x) of Object Sketch Pad does not in any way prevent the user from creating diagrams which contain illegal or impossible relationships.  For example, a circular inheritance relationship (class A inherits from class B which inherits from class C which inherits from class A) is technically illegal in Booch's notation, but this program currently allows it.  It is up to the user to verify the correctness of the diagrams.

"Dirt" on the screen

There are times when things don't erase cleanly.  The "Window/Clean" command causes the entire screen to be updated, cleaning this up.


The Future

The current plan calls for adding the following enhancements to version 2.

•	Add interaction diagrams.

•	Make Object Sketch Pad an MDI application.  That is, have child windows inside a main parent window.  This will allow the viewing of more than one diagram at a time.

•	Add a centralized data dictionary.  This will make it easier to view and manipulate the classes, objects, events, etc. which make up a design.

•	Add the capibility to import parts of a design or all of a design into another design.

•	 Enhanced undo/redo capabilities.

•	Make it impossible to create (or at least warn you when you try to create) an illeagal diagram.  For example, a circular inheritance relationship (class A inherits from class B which inherits from class C which inherits from class A) is technically illeagal in Booch's notation, but this program currently allows it.

•	 Make the font selectable.

•	Add zoom in/out capability to make viewing diagrams easier.


Warranty

CROSSROADS SOFTWARE DISCLAIMS ALL WARRANTIES RELATING TO THIS SOFTWARE, WHETHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, AND ALL SUCH WARRANTIES ARE EXPRESSLY AND SPECIFICALLY DISCLAIMED.  NEITHER CROSSROADS SOFTWARE OR ANYONE ELSE WHO HAS BEEN INVOLVED IN THE CREATION, PRODUCTION, OR DELIVERY OF THIS SOFTWARE SHALL BE LIABLE FOR ANY INDIRECT, CONSEQUENTIAL, OR INCIDENTAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE SUCH SOFTWARE EVEN IF CROSSROADS SOFTWARE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES OR CLAIMS.  IN NO EVENT SHALL CROSSROADS SOFTWARE'S LIABILITY FOR ANY DAMAGES EVER EXCEED THE PRICE PAID FOR THE LICENSE TO USE THE SOFTWARE, REGARDLESS OF THE FORM OF CLAIM.  THE PERSON USING THE SOFTWARE BEARS ALL RISKS AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE.

Some states do not allow the exclusion of the limit of liability for consequential or incidental damages, so the above limitation may not apply to you.

This agreement shall be governed by the laws of the State of Pennsylvania and shall inure to the benefit of Crossroads Software and any successors, administrators, heirs and assigns.  Any action or proceeding brought by either party against the other arising out of or related to this agreement shall be brought only in a STATE or FEDERAL COURT of competent jurisdiction located in Chester County, Pennsylvania.  The parties hereby consent to in personam jurisdiction of said courts.


Advanced Class Specification Dialog

This dialog is used to enter additional class specification data.


Association Specification Dialog

This dialog is used to enter the specification data for a class diagram association relationship.


Class Category Specification Dialog

This dialog is used to enter the specification data for a class category.

The 'Rename' button can only be used if this the original instance of this category.

Copies must be renamed by renaming the original.


Class Specification Dialog

This dialog is used to enter the specification data for a class, class utility, etc.

The 'Rename' button can only be used if this the original instance of this class.  Copies must be renamed by renaming the original.

The 'Param/Arg...' button will only be active if this is a parameterized or an instantiated class.


Connection Specification Dialog

This dialog is used to enter the specification data for a process diagram connection relationship.


Has Specification Dialog

This dialog is used to enter the specification data for a class diagram 'has' relationship.


Inheritance Specification Dialog

This dialog is used to enter the specification data for an inheritance relationship.


Instantiated Class Arguments Dialog

This dialog is used to enter the arguments for an instantiated class and to select which arguments are to be visible.

If there is no valid instantiation relationship, the parameter list will be empty.


Keyboard

When selecting more than one item, hold down the control key and select the multiple items by clicking the left mouse button.


Link Specification Dialog

This dialog is used to enter the specification data for an object link relationship.


Module Specification Dialog

This dialog is used to enter the specification data for a main program, subsystem, etc.

The 'Rename' button can only be used if this the original instance of this module.  Copies must be renamed by renaming the original.


Object Specification Dialog

This dialog is used to enter the specification data for an object.


Parameterized Class Parameters Dialog

This dialog is used to enter the parameters for a parameterized class and to select which parameters are to be visible.


Processor Specification Dialog

This dialog is used to enter the specification data for a processor.


Reflexive Association Dialog

This dialog is used to enter the data for a reflexive association specification.


Reflexive Link Specification Dialog

This dialog is used to enter the specification data for an object diagram reflexive link relationship.


Reflexive Transition Dialog

This dialog is used to enter the data for a reflexive transition specification.


Select Diagram Dialog

This diagram is used to select a diagram for editing.

Object diagrams and process diagrams can also be renamed or deleted here.

Class diagrams will always be named after their enclosing class category and can only be deleted by deleting their enclosing class category.

Module diagrams will always be named after their enclosing subsystem and can only be deleted by deleting their enclosing subsystem.

State transition diagrams will always be named after their corresponding class and can only be deleted by deleting their corresponding class.


Select Name Dialog

If a new class, module, etc. is being created, enter the name of the new element.

If a copy of an existing element is being created, select a name of the existing class, module, etc. from the list.


State Specification Dialog

This dialog is used to enter the data for a state specification.


Transition Specification Dialog

This dialog is used to enter the data for a state transition diagram transition specification.


Visible Items Dialog

This dialog is used to select which attributes, operations, etc. will be displayed along with the icons name.